// pages/goods/detail/index.js
import {reqGoodsInfo} from '@/api/goods'
//引入store的Behavior
import {userBehavior} from '@/behaviors/userBehavior'
//引入加入购物车接口
import {reqAddCart,reqGetCartList} from '@/api/cart'

Page({
  // 页面的初始数据
  
  data: {
	goodsInfo: {}, // 商品详情
    show: false, // 控制加入购物车和立即购买弹框的显示
    count: 1, // 商品购买数量，默认是 1
    blessing: '', // 祝福语
    buyNow:0, //0为加入购物车状态，1为立即购买
    allCount:'',//计算购物车商品数量
  },
  behaviors:[userBehavior],

  //获取更新商品购物车列表数量的函数
  async getCartCount(){
    //没有登录就不执行后续的逻辑
    if (!this.data.token) {
      return
    }
    //引入接口函数执行,获取当前购物车商品列表
    const CartList = await reqGetCartList()
    console.log(CartList);
    //遍历列表，累加数量
    let num = 0
    CartList.data.forEach(item=>{
      num += item.count
      // console.log(num);
    })
    this.setData({
      //三元判断num是否超过99，超过则为99+
      allCount:num>99?'99+':num+''
    })

  },

  //点击确认按钮执行的动作
  async handlerSubmit(){
    //解构出需要的数据
    const {count,blessing,token,buyNow} = this.data
    //商品id
    const goodsId = this.goodsId
    //首先验证是否有token
    if (!token) {
      //如果没有token，跳转到登录页面
      console.log('没有token');
      wx.navigateTo({
        url: '/pages/login/login'
      })
      //中断循环
      return
    }

    //存在token，继续流程
    //点击确定，判断是加入购物车还是立即购买，前往订单界面并且传递数据
    if (buyNow===1) {
      //立即购买并前往订单页面
      wx.navigateTo({
        url: `/modules/orderPayModule/pages/order/detail/detail?goodsId=${goodsId}&blessing=${blessing}`,
      })
    }else{
      //buyNow=0，调用加入购物车接口
     const res = await reqAddCart({goodsId,count,blessing})
     //如果得到结果，就关闭弹框
     if (res.code ===200) {
      this.setData({
        show:false
      })
      wx.toast({title:"已加入购物车"})
      //加入购物车之后，更新购物车右上角数量
      this.getCartCount()
     }
    //  console.log(res);
    }
    
  },

  //获取商品详情
  async getGoodsInfo(){
   const res= await reqGoodsInfo(this.goodsId)
   this.setData({
     goodsInfo:res.data
   })
  },

  //预览图片功能
  previewImage(){
    console.log(this.data.goodsInfo.detailList);
    wx.previewImage({
      // current:this.data.goodsInfo.imageUrl,
      urls: this.data.goodsInfo.detailList
    })
  },

  // 加入购物车
  handleAddcart() {
    this.setData({
      show: true,
      buyNow:0
    })
  },

  // 立即购买
  handeGotoBuy() {
    this.setData({
      show: true,
      buyNow:1
    })
  },

  // 点击关闭弹框时触发的回调
  onClose() {
    this.setData({ show: false })
  },

  // 监听是否更改了购买数量
  onChangeGoodsCount(event) {
    // console.log(event.detail)
    this.setData({
      count:Number(event.detail)
    })
    console.log(this.data.count);
  },

  onLoad(options){
    // console.log(options);
    //定义一个全局id
    this.goodsId = options.goodsId
    this.getGoodsInfo()
    this.getCartCount()
    
  }
})
